<?php
namespace App\Models\Entity\wxbox;

use Swoft\Db\Model;
use Swoft\Db\Bean\Annotation\Column;
use Swoft\Db\Bean\Annotation\Entity;
use Swoft\Db\Bean\Annotation\Id;
use Swoft\Db\Bean\Annotation\Required;
use Swoft\Db\Bean\Annotation\Table;
use Swoft\Db\Types;

/**
 * app功能列表

 * @Entity()
 * @Table(name="app")
 * @uses      App
 */
class App extends Model
{
    /**
     * @var int $id 
     * @Id()
     * @Column(name="id", type="integer")
     */
    private $id;

    /**
     * @var string $name 功能块儿名称
     * @Column(name="name", type="string", length=100)
     * @Required()
     */
    private $name;

    /**
     * @var string $content 描述
     * @Column(name="content", type="string", length=255)
     * @Required()
     */
    private $content;

    /**
     * @var string $action 功能模块名称
     * @Column(name="action", type="string", length=30)
     * @Required()
     */
    private $action;

    /**
     * @var int $type 0，关闭功能，1普通功能，2，高级功能，3，内测功能
     * @Column(name="type", type="integer", default=1)
     */
    private $type;

    /**
     * @param int $value
     * @return $this
     */
    public function setId(int $value)
    {
        $this->id = $value;

        return $this;
    }

    /**
     * 功能块儿名称
     * @param string $value
     * @return $this
     */
    public function setName(string $value): self
    {
        $this->name = $value;

        return $this;
    }

    /**
     * 描述
     * @param string $value
     * @return $this
     */
    public function setContent(string $value): self
    {
        $this->content = $value;

        return $this;
    }

    /**
     * 功能模块名称
     * @param string $value
     * @return $this
     */
    public function setAction(string $value): self
    {
        $this->action = $value;

        return $this;
    }

    /**
     * 0，关闭功能，1普通功能，2，高级功能，3，内测功能
     * @param int $value
     * @return $this
     */
    public function setType(int $value): self
    {
        $this->type = $value;

        return $this;
    }

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * 功能块儿名称
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * 描述
     * @return string
     */
    public function getContent()
    {
        return $this->content;
    }

    /**
     * 功能模块名称
     * @return string
     */
    public function getAction()
    {
        return $this->action;
    }

    /**
     * 0，关闭功能，1普通功能，2，高级功能，3，内测功能
     * @return mixed
     */
    public function getType()
    {
        return $this->type;
    }

}
